Estimating the costs for projects can be very time-consuming and difficult. For example, when estimating costs for a construction project, costs for materials, supplies, and manpower can be difficult to obtain. Computer systems and modules could be used to gather data on costs of every known material used in such projects to create estimates based upon the costs of construction materials and manpower. Such costs, however, vary depending on the location of where such materials are being purchased.
U.S. Pat. No. 5,189,606 to Burns teaches a system and method that collects costs of materials around the world, so that a user could accurately estimate the total cost of a construction project depending upon where the project is being built and where the materials are being purchased. Burns, however, only provides a single estimate for construction projects, which does not allow a user to estimate the highest and lowest possible cost for a project.
U.S. Pat. No. 5,764,953 to Collins teaches a system and method for making a decision by creating a domain model, and then by modifying that domain model based upon real-time changes. As the real-time variables change over time, Collins allows a user to see how a cost estimate for a project could vary. Collins, however, only follows a single domain model throughout the simulated decision-making process, and does not allow for a plurality of domain model choices, some of which could handle a broader swing of variable change over time.
U.S. Pat. No. 5,761,674 to Ito teaches a system with a plurality of expert systems, each of which estimates a separate part of a given project to increase the accuracy and granularity of a project plan. Since Ito's system uses independent expert systems to create different project plans, Ito's system could conceivably create conflicting plans that are not compatible with one another.
U.S. Pat. No. 6,856,984 to Slaikea and U.S. Pat. No. 7,565,642 to Moore both teach systems that takes into account different domain models that conflict with one another, and applies that could be used to optimally handle such conflicts. Slaikea and Moore, however, both resolve all such conflicts automatically by applying known rules, and fails to find conflicts between different optimization algorithms and present such conflicts to a human user for resolution. Presenting such conflicts to a human user for resolution is frequently far more helpful than using automated rules, since human users can enact policy decisions that optimize a solution in ways that a computer is not equipped to handle.
These and all other extrinsic materials discussed herein are incorporated by reference in their entirety. Where a definition or use of a term in an incorporated reference is inconsistent or contrary to the definition of that term provided herein, the definition of that term provided herein applies and the definition of that term in the reference does not apply.
Unless the context dictates the contrary, all ranges set forth herein should be interpreted as being inclusive of their endpoints and open-ended ranges should be interpreted to include only commercially practical values. Similarly, all lists of values should be considered as inclusive of intermediate values unless the context indicates the contrary.
What has yet to be appreciated is that it would be desirable to have an automated system capable of generating and identifying conflicts. For example, two expert systems reflecting expertise of subject matter experts can provide recommendations for two different areas of a construction project. Each expert system might focus on different areas of optimization (e.g., cost versus materials, materials versus lead time, etc.). Therefore, the recommendations could be in conflict because an optimization according to one metric might cause an adverse affect in another metric. Project planners would benefit from identifying such conflicts and resolving them quickly before undue costs are incurred.
Thus, there is still a need for improved expert systems that can optimize the costs for a plurality of possible scenarios by creating conflicts for a human user to resolve.